package com.example.blog_system.service;

import com.example.blog_system.dto.ArticleDto;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

public interface ArticleService {
    ArticleDto createArticle(ArticleDto articleDto, Long authorId);
    ArticleDto updateArticle(Long id, ArticleDto articleDto, Long authorId);
    void deleteArticle(Long id, Long authorId);
    ArticleDto getArticleById(Long id);
    Page<ArticleDto> getAllArticles(Pageable pageable);
    Page<ArticleDto> getArticlesByAuthor(Long authorId, Pageable pageable);
    Page<ArticleDto> searchArticles(String keyword, Pageable pageable);
    Page<ArticleDto> getArticlesByTag(String tagName, Pageable pageable);
} 